/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package MainGUI;

import Util.FIRWindow;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JComboBox;
import myinterface.SelectType;
import myinterface.WindowType;

/**
 *
 * @author KieuOanh
 */
public class FIRPanel extends javax.swing.JPanel implements WindowType, SelectType {

    WindowFrame windowFrame;
    FIRWindow fIRWindow;
    String[] ar21 = new String[]{"Rectangular", "Kaiser"};
    String[] ar25 = new String[]{"Bartlett", "Kaiser"};
    String[] ar44 = new String[]{"Hanning", "Kaiser"};
    String[] ar53 = new String[]{"Hamming", "Kaiser"};
    String[] ar74 = new String[]{"Blackman", "Kaiser"};

    /**
     * Creates new form FIRPanel
     */
    public FIRPanel() {
        initComponents();
        setVisible(true);
        jComboBoxFrequence.setVisible(false);
        jComboBoxOptimal.setVisible(false);
        jPanelLowpass.setVisible(true);
        jPanelBandpass.setVisible(false);
        jPanelHighpass.setVisible(false);
        jPanelLowpass.setLocation(180, 100);
//        jComboBoxWindow.setModel( new DefaultComboBoxModel(ar21));
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        buttonGroupFIRType = new javax.swing.ButtonGroup();
        buttonGroupWindowMethod = new javax.swing.ButtonGroup();
        jPanelDesign = new javax.swing.JPanel();
        jRadioButtonWindow = new javax.swing.JRadioButton();
        jRadioButtonFrequence = new javax.swing.JRadioButton();
        jRadioButtonOptimal = new javax.swing.JRadioButton();
        jComboBoxWindow = new javax.swing.JComboBox();
        jComboBoxFrequence = new javax.swing.JComboBox();
        jComboBoxOptimal = new javax.swing.JComboBox();
        jPanelTypeSelect = new javax.swing.JPanel();
        jRadioButtonLowpass = new javax.swing.JRadioButton();
        jRadioButtonHighpass = new javax.swing.JRadioButton();
        jRadioButtonBandpass = new javax.swing.JRadioButton();
        jRadioButtonBandstop = new javax.swing.JRadioButton();
        jRadioButtonHilbert = new javax.swing.JRadioButton();
        jRadioButtonDifferentiator = new javax.swing.JRadioButton();
        jPanelLowpass = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jTextFieldLowpassWp = new javax.swing.JTextField();
        jTextFieldLowpassWs = new javax.swing.JTextField();
        jTextFieldLowpassRp = new javax.swing.JTextField();
        jTextFieldLowpassAs = new javax.swing.JTextField();
        jLabel5 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        jPanelHighpass = new javax.swing.JPanel();
        jLabel9 = new javax.swing.JLabel();
        jLabel10 = new javax.swing.JLabel();
        jLabel11 = new javax.swing.JLabel();
        jLabel12 = new javax.swing.JLabel();
        jLabel13 = new javax.swing.JLabel();
        jLabel14 = new javax.swing.JLabel();
        jTextFieldStopbandWs = new javax.swing.JTextField();
        jTextFieldStopbandAs = new javax.swing.JTextField();
        jTextFieldStopbandWp = new javax.swing.JTextField();
        jTextFieldStopbandRp = new javax.swing.JTextField();
        jLabel15 = new javax.swing.JLabel();
        jLabel16 = new javax.swing.JLabel();
        jLabel17 = new javax.swing.JLabel();
        jLabel18 = new javax.swing.JLabel();
        jPanelBandpass = new javax.swing.JPanel();
        jLabel20 = new javax.swing.JLabel();
        jTextFieldBpW1s = new javax.swing.JTextField();
        jLabel21 = new javax.swing.JLabel();
        jLabel22 = new javax.swing.JLabel();
        jTextFieldBpA1s = new javax.swing.JTextField();
        jLabel23 = new javax.swing.JLabel();
        jLabel24 = new javax.swing.JLabel();
        jTextFieldBpW1p = new javax.swing.JTextField();
        jLabel25 = new javax.swing.JLabel();
        jLabel26 = new javax.swing.JLabel();
        jTextFieldBpR1p = new javax.swing.JTextField();
        jLabel27 = new javax.swing.JLabel();
        jLabel28 = new javax.swing.JLabel();
        jTextFieldBpW2p = new javax.swing.JTextField();
        jLabel29 = new javax.swing.JLabel();
        jLabel30 = new javax.swing.JLabel();
        jTextFieldBpR2p = new javax.swing.JTextField();
        jLabel31 = new javax.swing.JLabel();
        jLabel32 = new javax.swing.JLabel();
        jTextFieldBpW2s = new javax.swing.JTextField();
        jLabel33 = new javax.swing.JLabel();
        jLabel34 = new javax.swing.JLabel();
        jTextFieldBpA2s = new javax.swing.JTextField();
        jLabel35 = new javax.swing.JLabel();
        jLabel36 = new javax.swing.JLabel();
        jLabel37 = new javax.swing.JLabel();
        jLabel38 = new javax.swing.JLabel();
        jLabel39 = new javax.swing.JLabel();
        jButton1 = new javax.swing.JButton();

        jPanelDesign.setBorder(javax.swing.BorderFactory.createTitledBorder("Design Techniques"));
        jPanelDesign.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        buttonGroupFIRType.add(jRadioButtonWindow);
        jRadioButtonWindow.setSelected(true);
        jRadioButtonWindow.setText("Window ");
        jRadioButtonWindow.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                jRadioButtonWindowItemStateChanged(evt);
            }
        });
        jPanelDesign.add(jRadioButtonWindow, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 30, 120, -1));

        buttonGroupFIRType.add(jRadioButtonFrequence);
        jRadioButtonFrequence.setText("Frequence Sampling ");
        jRadioButtonFrequence.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                jRadioButtonFrequenceItemStateChanged(evt);
            }
        });
        jPanelDesign.add(jRadioButtonFrequence, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 70, -1, -1));

        buttonGroupFIRType.add(jRadioButtonOptimal);
        jRadioButtonOptimal.setText("Optimal Equiripple ");
        jRadioButtonOptimal.setToolTipText("");
        jRadioButtonOptimal.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                jRadioButtonOptimalItemStateChanged(evt);
            }
        });
        jPanelDesign.add(jRadioButtonOptimal, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 110, -1, -1));

        jComboBoxWindow.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Rectangular", "Bartlett", "Hanning", "Hamming", "Blackman", "Kaiser" }));
        jComboBoxWindow.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jComboBoxWindowMousePressed(evt);
            }
        });
        jComboBoxWindow.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jComboBoxWindowActionPerformed(evt);
            }
        });
        jComboBoxWindow.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                jComboBoxWindowKeyPressed(evt);
            }
        });
        jPanelDesign.add(jComboBoxWindow, new org.netbeans.lib.awtextra.AbsoluteConstraints(160, 20, 110, -1));

        jComboBoxFrequence.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Native design", "Optimum design" }));
        jPanelDesign.add(jComboBoxFrequence, new org.netbeans.lib.awtextra.AbsoluteConstraints(160, 60, 110, -1));

        jComboBoxOptimal.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
        jPanelDesign.add(jComboBoxOptimal, new org.netbeans.lib.awtextra.AbsoluteConstraints(160, 100, 110, -1));

        jPanelTypeSelect.setBorder(javax.swing.BorderFactory.createTitledBorder("Type select"));

        buttonGroupWindowMethod.add(jRadioButtonLowpass);
        jRadioButtonLowpass.setSelected(true);
        jRadioButtonLowpass.setText("Lowpass ");
        jRadioButtonLowpass.setActionCommand("Low pass ");
        jRadioButtonLowpass.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                jRadioButtonLowpassItemStateChanged(evt);
            }
        });
        jRadioButtonLowpass.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jRadioButtonLowpassActionPerformed(evt);
            }
        });

        buttonGroupWindowMethod.add(jRadioButtonHighpass);
        jRadioButtonHighpass.setText("Highpass ");
        jRadioButtonHighpass.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                jRadioButtonHighpassItemStateChanged(evt);
            }
        });
        jRadioButtonHighpass.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jRadioButtonHighpassActionPerformed(evt);
            }
        });

        buttonGroupWindowMethod.add(jRadioButtonBandpass);
        jRadioButtonBandpass.setText("Bandpass");
        jRadioButtonBandpass.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                jRadioButtonBandpassItemStateChanged(evt);
            }
        });
        jRadioButtonBandpass.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jRadioButtonBandpassActionPerformed(evt);
            }
        });

        buttonGroupWindowMethod.add(jRadioButtonBandstop);
        jRadioButtonBandstop.setText("Bandstop ");

        buttonGroupWindowMethod.add(jRadioButtonHilbert);
        jRadioButtonHilbert.setText("Hilbert");

        buttonGroupWindowMethod.add(jRadioButtonDifferentiator);
        jRadioButtonDifferentiator.setText("Differentiator");

        javax.swing.GroupLayout jPanelTypeSelectLayout = new javax.swing.GroupLayout(jPanelTypeSelect);
        jPanelTypeSelect.setLayout(jPanelTypeSelectLayout);
        jPanelTypeSelectLayout.setHorizontalGroup(
            jPanelTypeSelectLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelTypeSelectLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanelTypeSelectLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jRadioButtonLowpass)
                    .addComponent(jRadioButtonBandpass)
                    .addComponent(jRadioButtonHilbert)
                    .addComponent(jRadioButtonDifferentiator)
                    .addComponent(jRadioButtonHighpass)
                    .addComponent(jRadioButtonBandstop))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanelTypeSelectLayout.setVerticalGroup(
            jPanelTypeSelectLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelTypeSelectLayout.createSequentialGroup()
                .addComponent(jRadioButtonLowpass)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jRadioButtonHighpass)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jRadioButtonBandpass)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jRadioButtonBandstop)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jRadioButtonHilbert)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jRadioButtonDifferentiator)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jPanelLowpass.setBorder(javax.swing.BorderFactory.createTitledBorder("Lowpass specifications"));

        jLabel1.setText("Wp = ");

        jLabel2.setText("Ws = ");

        jLabel3.setText("Rp = ");

        jLabel4.setText("As = ");

        jTextFieldLowpassWp.setText("0.2");

        jTextFieldLowpassWs.setText("0.3");

        jTextFieldLowpassRp.setText("0.25");

        jTextFieldLowpassAs.setText("50");
        jTextFieldLowpassAs.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTextFieldLowpassAsActionPerformed(evt);
            }
        });
        jTextFieldLowpassAs.addInputMethodListener(new java.awt.event.InputMethodListener() {
            public void caretPositionChanged(java.awt.event.InputMethodEvent evt) {
            }
            public void inputMethodTextChanged(java.awt.event.InputMethodEvent evt) {
                jTextFieldLowpassAsInputMethodTextChanged(evt);
            }
        });

        jLabel5.setText("*Pi");

        jLabel6.setText("*Pi");

        jLabel7.setText("dB");

        jLabel8.setText("dB");

        javax.swing.GroupLayout jPanelLowpassLayout = new javax.swing.GroupLayout(jPanelLowpass);
        jPanelLowpass.setLayout(jPanelLowpassLayout);
        jPanelLowpassLayout.setHorizontalGroup(
            jPanelLowpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelLowpassLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanelLowpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanelLowpassLayout.createSequentialGroup()
                        .addGroup(jPanelLowpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanelLowpassLayout.createSequentialGroup()
                                .addGroup(jPanelLowpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jLabel4, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(jPanelLowpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jTextFieldLowpassAs)
                                    .addComponent(jTextFieldLowpassWs)))
                            .addGroup(jPanelLowpassLayout.createSequentialGroup()
                                .addComponent(jLabel1)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jTextFieldLowpassWp, javax.swing.GroupLayout.DEFAULT_SIZE, 39, Short.MAX_VALUE)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanelLowpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel8)
                            .addGroup(jPanelLowpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                .addComponent(jLabel6)
                                .addComponent(jLabel5)))
                        .addGap(36, 36, 36))
                    .addGroup(jPanelLowpassLayout.createSequentialGroup()
                        .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jTextFieldLowpassRp)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabel7)
                        .addGap(38, 38, 38))))
        );
        jPanelLowpassLayout.setVerticalGroup(
            jPanelLowpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelLowpassLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanelLowpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel1)
                    .addComponent(jTextFieldLowpassWp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel5))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanelLowpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(jTextFieldLowpassWs, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel6))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanelLowpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel3)
                    .addComponent(jTextFieldLowpassRp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel7))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanelLowpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel4, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(jPanelLowpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jTextFieldLowpassAs, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jLabel8))))
        );

        jPanelHighpass.setBorder(javax.swing.BorderFactory.createTitledBorder("Highpass specifications"));

        jLabel9.setText("Stopband edge");

        jLabel10.setText("Ws = ");

        jLabel11.setText("As = ");

        jLabel12.setText("Passband edge");

        jLabel13.setText("Wp = ");

        jLabel14.setText("Rp = ");

        jTextFieldStopbandWs.setText("0.4");

        jTextFieldStopbandAs.setText("60");

        jTextFieldStopbandWp.setText("0.6");

        jTextFieldStopbandRp.setText("0.5");

        jLabel15.setText("*Pi");

        jLabel16.setText("dB");

        jLabel17.setText("*Pi");

        jLabel18.setText("dB");

        javax.swing.GroupLayout jPanelHighpassLayout = new javax.swing.GroupLayout(jPanelHighpass);
        jPanelHighpass.setLayout(jPanelHighpassLayout);
        jPanelHighpassLayout.setHorizontalGroup(
            jPanelHighpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelHighpassLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanelHighpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel9, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(jPanelHighpassLayout.createSequentialGroup()
                        .addComponent(jLabel12)
                        .addContainerGap())
                    .addGroup(jPanelHighpassLayout.createSequentialGroup()
                        .addGroup(jPanelHighpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanelHighpassLayout.createSequentialGroup()
                                .addComponent(jLabel10)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jTextFieldStopbandWs, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabel15))
                            .addGroup(jPanelHighpassLayout.createSequentialGroup()
                                .addComponent(jLabel13)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jTextFieldStopbandWp, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabel17)))
                        .addGroup(jPanelHighpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(jPanelHighpassLayout.createSequentialGroup()
                                .addGap(41, 41, 41)
                                .addComponent(jLabel11, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jTextFieldStopbandAs, javax.swing.GroupLayout.DEFAULT_SIZE, 39, Short.MAX_VALUE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabel16))
                            .addGroup(jPanelHighpassLayout.createSequentialGroup()
                                .addGap(38, 38, 38)
                                .addComponent(jLabel14, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jTextFieldStopbandRp)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabel18)))
                        .addGap(16, 16, 16))))
        );
        jPanelHighpassLayout.setVerticalGroup(
            jPanelHighpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelHighpassLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel9)
                .addGap(7, 7, 7)
                .addGroup(jPanelHighpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel10)
                    .addComponent(jTextFieldStopbandWs, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel15)
                    .addComponent(jTextFieldStopbandAs, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel16)
                    .addComponent(jLabel11))
                .addGap(18, 18, 18)
                .addComponent(jLabel12)
                .addGap(18, 18, 18)
                .addGroup(jPanelHighpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel13)
                    .addComponent(jTextFieldStopbandWp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel17)
                    .addComponent(jLabel14)
                    .addComponent(jTextFieldStopbandRp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel18))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jPanelBandpass.setBorder(javax.swing.BorderFactory.createTitledBorder("Bandpass specifications"));

        jLabel20.setText("Lower stopband edge");

        jTextFieldBpW1s.setText("0.2");

        jLabel21.setText("*Pi");

        jLabel22.setText("As = ");

        jTextFieldBpA1s.setText("60");

        jLabel23.setText("dB");

        jLabel24.setText("Lower passband edge");

        jTextFieldBpW1p.setText("0.35");

        jLabel25.setText("*Pi");

        jLabel26.setText("Rp = ");

        jTextFieldBpR1p.setText("1");

        jLabel27.setText("dB");

        jLabel28.setText("Upper passband edge");

        jTextFieldBpW2p.setText("0.65");

        jLabel29.setText("W2p = ");

        jLabel30.setText("*Pi");

        jTextFieldBpR2p.setText("1");

        jLabel31.setText("Rp = ");

        jLabel32.setText("Upper stopband edge");

        jTextFieldBpW2s.setText("0.8");

        jLabel33.setText("*Pi");

        jLabel34.setText("W2s = ");

        jTextFieldBpA2s.setText("60");

        jLabel35.setText("dB");

        jLabel36.setText("W1s = ");

        jLabel37.setText("W1p = ");

        jLabel38.setText("As = ");

        jLabel39.setText("dB");

        javax.swing.GroupLayout jPanelBandpassLayout = new javax.swing.GroupLayout(jPanelBandpass);
        jPanelBandpass.setLayout(jPanelBandpassLayout);
        jPanelBandpassLayout.setHorizontalGroup(
            jPanelBandpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelBandpassLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanelBandpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(jPanelBandpassLayout.createSequentialGroup()
                        .addComponent(jLabel24)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jLabel37))
                    .addGroup(jPanelBandpassLayout.createSequentialGroup()
                        .addComponent(jLabel20)
                        .addGap(40, 40, 40)
                        .addComponent(jLabel36))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanelBandpassLayout.createSequentialGroup()
                        .addGroup(jPanelBandpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel28)
                            .addComponent(jLabel32))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addGroup(jPanelBandpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel34)
                            .addComponent(jLabel29))))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanelBandpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanelBandpassLayout.createSequentialGroup()
                        .addComponent(jTextFieldBpW1s, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabel21)
                        .addGap(33, 33, 33)
                        .addComponent(jLabel22)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jTextFieldBpA1s, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jLabel23))
                    .addGroup(jPanelBandpassLayout.createSequentialGroup()
                        .addGroup(jPanelBandpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addGroup(jPanelBandpassLayout.createSequentialGroup()
                                .addComponent(jTextFieldBpW2s, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(5, 5, 5)
                                .addComponent(jLabel33)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(jLabel38))
                            .addGroup(jPanelBandpassLayout.createSequentialGroup()
                                .addComponent(jTextFieldBpW2p, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabel30)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(jLabel31))
                            .addGroup(jPanelBandpassLayout.createSequentialGroup()
                                .addComponent(jTextFieldBpW1p, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabel25, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabel26)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(jPanelBandpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanelBandpassLayout.createSequentialGroup()
                                .addComponent(jTextFieldBpR2p, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(jLabel35))
                            .addGroup(jPanelBandpassLayout.createSequentialGroup()
                                .addComponent(jTextFieldBpR1p, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(jLabel27)
                                .addGap(0, 1, Short.MAX_VALUE))
                            .addGroup(jPanelBandpassLayout.createSequentialGroup()
                                .addComponent(jTextFieldBpA2s, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(jLabel39)))))
                .addContainerGap(14, Short.MAX_VALUE))
        );
        jPanelBandpassLayout.setVerticalGroup(
            jPanelBandpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelBandpassLayout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(jPanelBandpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel20)
                    .addComponent(jTextFieldBpW1s, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel22)
                    .addComponent(jTextFieldBpA1s, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel23)
                    .addComponent(jLabel36)
                    .addComponent(jLabel21))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanelBandpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel24, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel37)
                    .addComponent(jTextFieldBpW1p, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel25)
                    .addComponent(jLabel26)
                    .addComponent(jTextFieldBpR1p, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel27))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanelBandpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel28)
                    .addComponent(jLabel29)
                    .addComponent(jTextFieldBpW2p, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel30)
                    .addComponent(jLabel31)
                    .addComponent(jTextFieldBpR2p, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel35))
                .addGap(10, 10, 10)
                .addGroup(jPanelBandpassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel32)
                    .addComponent(jLabel34)
                    .addComponent(jTextFieldBpW2s, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel33)
                    .addComponent(jLabel38)
                    .addComponent(jTextFieldBpA2s, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel39))
                .addGap(128, 128, 128))
        );

        jButton1.setText("Ok");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(10, 10, 10)
                        .addComponent(jPanelTypeSelect, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jPanelBandpass, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jPanelLowpass, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jPanelHighpass, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jPanelDesign, javax.swing.GroupLayout.PREFERRED_SIZE, 307, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(148, 148, 148)
                        .addComponent(jButton1)))
                .addGap(80, 80, 80))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(110, 110, 110)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                        .addComponent(jPanelTypeSelect, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jPanelHighpass, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jPanelLowpass, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jPanelBandpass, javax.swing.GroupLayout.PREFERRED_SIZE, 186, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jPanelDesign, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButton1))
                .addContainerGap(208, Short.MAX_VALUE))
        );
    }// </editor-fold>//GEN-END:initComponents

    private void jRadioButtonFrequenceItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jRadioButtonFrequenceItemStateChanged
        if (jRadioButtonFrequence.isSelected()) {
            jComboBoxFrequence.setVisible(true);
            jComboBoxOptimal.setVisible(false);
            jComboBoxWindow.setVisible(false);
        }
    }//GEN-LAST:event_jRadioButtonFrequenceItemStateChanged

    private void jRadioButtonWindowItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jRadioButtonWindowItemStateChanged
        if (jRadioButtonWindow.isSelected()) {
            jComboBoxFrequence.setVisible(false);
            jComboBoxOptimal.setVisible(false);
            jComboBoxWindow.setVisible(true);
        }
    }//GEN-LAST:event_jRadioButtonWindowItemStateChanged

    private void jRadioButtonOptimalItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jRadioButtonOptimalItemStateChanged
        if (jRadioButtonOptimal.isSelected()) {
            jComboBoxFrequence.setVisible(false);
            jComboBoxOptimal.setVisible(true);
            jComboBoxWindow.setVisible(false);
        }
    }//GEN-LAST:event_jRadioButtonOptimalItemStateChanged

    private void jRadioButtonHighpassItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jRadioButtonHighpassItemStateChanged
    }//GEN-LAST:event_jRadioButtonHighpassItemStateChanged

    private void jRadioButtonLowpassItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jRadioButtonLowpassItemStateChanged
    }//GEN-LAST:event_jRadioButtonLowpassItemStateChanged

    private void jRadioButtonBandpassItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jRadioButtonBandpassItemStateChanged
    }//GEN-LAST:event_jRadioButtonBandpassItemStateChanged

    private void jRadioButtonLowpassActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRadioButtonLowpassActionPerformed
        if (jRadioButtonLowpass.isSelected()) {

            jPanelLowpass.setVisible(true);
            jPanelBandpass.setVisible(false);
            jPanelHighpass.setVisible(false);
        }
    }//GEN-LAST:event_jRadioButtonLowpassActionPerformed

    private void jRadioButtonHighpassActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRadioButtonHighpassActionPerformed
        if (jRadioButtonHighpass.isSelected()) {

            jPanelLowpass.setVisible(false);
            jPanelBandpass.setVisible(false);
            jPanelHighpass.setVisible(true);
        }
    }//GEN-LAST:event_jRadioButtonHighpassActionPerformed

    private void jRadioButtonBandpassActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRadioButtonBandpassActionPerformed
        if (jRadioButtonBandpass.isSelected()) {
            jPanelLowpass.setVisible(false);
            jPanelBandpass.setVisible(true);
            jPanelHighpass.setVisible(false);
        }
    }//GEN-LAST:event_jRadioButtonBandpassActionPerformed

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
        int windowType = 0;
        switch (jComboBoxWindow.getSelectedItem().toString()) {
            case "Rectangular":
                windowType = RECTANGLE;
                break;
            case "Bartlett":
                windowType = BARTLETT;
                break;
            case "Hanning":
                windowType = HANNING;
                break;
            case "Hamming":
                windowType = HAMMING;
                break;
            case "Blackman":
                windowType = BLACKMAN;
                break;
            case "Kaiser":
                windowType = KAISER;
                break;
        }

        System.out.println("hoang: " + jComboBoxWindow.getSelectedItem().toString());
        if (jRadioButtonLowpass.isSelected()) {
            double wp = Double.parseDouble(jTextFieldLowpassWp.getText());
            double ws = Double.parseDouble(jTextFieldLowpassWs.getText());
            double Rp = Double.parseDouble(jTextFieldLowpassRp.getText());
            double As = Double.parseDouble(jTextFieldLowpassAs.getText());
            if (jRadioButtonWindow.isSelected()) {
                fIRWindow = new FIRWindow(LOW_PASS, windowType, wp, ws, As, Rp);
            } else if (jRadioButtonFrequence.isSelected()) {
            } else if (jRadioButtonOptimal.isSelected()) {
            }
        } else if (jRadioButtonHighpass.isSelected()) {
            if (jRadioButtonWindow.isSelected()) {
            } else if (jRadioButtonFrequence.isSelected()) {
            } else if (jRadioButtonOptimal.isSelected()) {
            }
        } else if (jRadioButtonBandpass.isSelected()) {
            if (jRadioButtonWindow.isSelected()) {
            } else if (jRadioButtonFrequence.isSelected()) {
            } else if (jRadioButtonOptimal.isSelected()) {
            }
        } else if (jRadioButtonBandstop.isSelected()) {
            if (jRadioButtonWindow.isSelected()) {
            } else if (jRadioButtonFrequence.isSelected()) {
            } else if (jRadioButtonOptimal.isSelected()) {
            }
        } else if (jRadioButtonHilbert.isSelected()) {
            if (jRadioButtonWindow.isSelected()) {
            } else if (jRadioButtonFrequence.isSelected()) {
            } else if (jRadioButtonOptimal.isSelected()) {
            }
        } else if (jRadioButtonDifferentiator.isSelected()) {
            if (jRadioButtonWindow.isSelected()) {
            } else if (jRadioButtonFrequence.isSelected()) {
            } else if (jRadioButtonOptimal.isSelected()) {
            }
        }
        if (windowFrame == null) {
            windowFrame = new WindowFrame(fIRWindow);
        } else {
            windowFrame.setData(fIRWindow);
            windowFrame.repaint();
        }
    }//GEN-LAST:event_jButton1ActionPerformed

    public void resetCombobox(){
        int r  = 0;
        int as = Integer.parseInt(jTextFieldLowpassAs.getText());
        if (as<21) {
            
        }
    }
    private void jTextFieldLowpassAsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextFieldLowpassAsActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_jTextFieldLowpassAsActionPerformed

    private void jComboBoxWindowActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBoxWindowActionPerformed
        
        
    }//GEN-LAST:event_jComboBoxWindowActionPerformed

    private void jComboBoxWindowKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jComboBoxWindowKeyPressed
        // TODO add your handling code here:
    }//GEN-LAST:event_jComboBoxWindowKeyPressed

    private void jComboBoxWindowMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jComboBoxWindowMousePressed
    jComboBoxWindow.setModel( new DefaultComboBoxModel(ar21));
    }//GEN-LAST:event_jComboBoxWindowMousePressed

    private void jTextFieldLowpassAsInputMethodTextChanged(java.awt.event.InputMethodEvent evt) {//GEN-FIRST:event_jTextFieldLowpassAsInputMethodTextChanged
        
    }//GEN-LAST:event_jTextFieldLowpassAsInputMethodTextChanged

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.ButtonGroup buttonGroupFIRType;
    private javax.swing.ButtonGroup buttonGroupWindowMethod;
    private javax.swing.JButton jButton1;
    private javax.swing.JComboBox jComboBoxFrequence;
    private javax.swing.JComboBox jComboBoxOptimal;
    private javax.swing.JComboBox jComboBoxWindow;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel13;
    private javax.swing.JLabel jLabel14;
    private javax.swing.JLabel jLabel15;
    private javax.swing.JLabel jLabel16;
    private javax.swing.JLabel jLabel17;
    private javax.swing.JLabel jLabel18;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel20;
    private javax.swing.JLabel jLabel21;
    private javax.swing.JLabel jLabel22;
    private javax.swing.JLabel jLabel23;
    private javax.swing.JLabel jLabel24;
    private javax.swing.JLabel jLabel25;
    private javax.swing.JLabel jLabel26;
    private javax.swing.JLabel jLabel27;
    private javax.swing.JLabel jLabel28;
    private javax.swing.JLabel jLabel29;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel30;
    private javax.swing.JLabel jLabel31;
    private javax.swing.JLabel jLabel32;
    private javax.swing.JLabel jLabel33;
    private javax.swing.JLabel jLabel34;
    private javax.swing.JLabel jLabel35;
    private javax.swing.JLabel jLabel36;
    private javax.swing.JLabel jLabel37;
    private javax.swing.JLabel jLabel38;
    private javax.swing.JLabel jLabel39;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JPanel jPanelBandpass;
    private javax.swing.JPanel jPanelDesign;
    public javax.swing.JPanel jPanelHighpass;
    private javax.swing.JPanel jPanelLowpass;
    private javax.swing.JPanel jPanelTypeSelect;
    private javax.swing.JRadioButton jRadioButtonBandpass;
    private javax.swing.JRadioButton jRadioButtonBandstop;
    private javax.swing.JRadioButton jRadioButtonDifferentiator;
    private javax.swing.JRadioButton jRadioButtonFrequence;
    private javax.swing.JRadioButton jRadioButtonHighpass;
    private javax.swing.JRadioButton jRadioButtonHilbert;
    private javax.swing.JRadioButton jRadioButtonLowpass;
    private javax.swing.JRadioButton jRadioButtonOptimal;
    private javax.swing.JRadioButton jRadioButtonWindow;
    private javax.swing.JTextField jTextFieldBpA1s;
    private javax.swing.JTextField jTextFieldBpA2s;
    private javax.swing.JTextField jTextFieldBpR1p;
    private javax.swing.JTextField jTextFieldBpR2p;
    private javax.swing.JTextField jTextFieldBpW1p;
    private javax.swing.JTextField jTextFieldBpW1s;
    private javax.swing.JTextField jTextFieldBpW2p;
    private javax.swing.JTextField jTextFieldBpW2s;
    private javax.swing.JTextField jTextFieldLowpassAs;
    private javax.swing.JTextField jTextFieldLowpassRp;
    private javax.swing.JTextField jTextFieldLowpassWp;
    private javax.swing.JTextField jTextFieldLowpassWs;
    private javax.swing.JTextField jTextFieldStopbandAs;
    private javax.swing.JTextField jTextFieldStopbandRp;
    private javax.swing.JTextField jTextFieldStopbandWp;
    private javax.swing.JTextField jTextFieldStopbandWs;
    // End of variables declaration//GEN-END:variables
}
